package com.changanw.middleware.dbrouter.dynamic;

import com.changanw.middleware.dbrouter.DBContextHolder;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**
 * 动态数据源需要继承 AbstractRoutingDataSource 实现 determineCurrentLookupKey 方法
 * DBContextHolder.getDBKey()，获取路由设置到 ThreadLocal 的结果。
 */
public class DynamicDataSource extends AbstractRoutingDataSource {

    @Override
    protected Object determineCurrentLookupKey() {
        return "db" + DBContextHolder.getDBKey();
    }

}